const app = getApp()

/**
 *  获取当前小程序的appId
 *  @return {string} appId
 * */
export const getAppId = () => wx.getAccountInfoSync().miniProgram.appId

/**
 *  获取wx code
 *  @return {string} code
 * */
let tempCode = null
export const getCode = () => {
  let _code = null
  wx.checkSession({
    success () {
      // session_key 未过期，并且在本生命周期一直有效
      _code = tempCode
    },
    fail () {
      // session_key 已经失效，需要重新执行登录流程
      wx.login({
        success: res => {
          _code = tempCode = res
        }
      })
    }
  })
  return _code
}

/**
 *  获取用户信息相关
 *  @param {function} callback 调用用户信息后的回调
 *  @return {Object} 用户信息
 * */
export const getUser = callback => {
  callback = typeof callback !== 'function' ? () => {} : callback
  wx.getUserProfile({
    lang: 'zh_CN',
    desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
    success: (res) => {
      app.globalData.userInfo = res
      callback({
        recode: 0,
        data: res
      })
    },
    fail (res) {
      callback({
        recode: 1,
        data: res
      })
    }
  })
}
